home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
newsgroups
/
misc.20010921-20020314
/
000108_fdc@watsun.cc.columbia.edu_Sun Nov 4 14:24:30 EST 2001.msg
< prev
next >
Wrap
Text File
|
2002-03-13
|
2KB
|
64 lines
Article: 12926 of comp.protocols.kermit.misc
Path: newsmaster.cc.columbia.edu!watsun.cc.columbia.edu!fdc
From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
Newsgroups: comp.unix.sco.misc,comp.protocols.kermit.misc
Subject: Dropping DTR in OSR5
Date: 4 Nov 2001 18:19:37 GMT
Organization: Columbia University
Lines: 48
Message-ID: <9s40rp$fdh$1@newsmaster.cc.columbia.edu>
NNTP-Posting-Host: watsun.cc.columbia.edu
X-Trace: newsmaster.cc.columbia.edu 1004897977 15793 128.59.39.2 (4 Nov 2001 18:19:37 GMT)
X-Complaints-To: postmaster@columbia.edu
NNTP-Posting-Date: 4 Nov 2001 18:19:37 GMT
Xref: newsmaster.cc.columbia.edu comp.unix.sco.misc:139879 comp.protocols.kermit.misc:12926
In getting C-Kermit 8.0 ready for release:
http://www.columbia.edu/kermit/ck80.html
I was testing it on SCO OSR5.0.5 and discovered that the DIAL command
didn't work:
set modem type usrobotics
set line /dev/tty1A
set speed 38400
dial 7654321
The DIAL command turns off DTR and RTS and they don't come on again.
This can be worked around by giving Kermit either of the following commands:
set dial hangup off
set modem hangup-command modem-command
Each of these prevents Kermit from trying to drop DTR for half a second
prior to dialing.
But the real problem is that when Kermit *does* try to drop DTR briefly,
it never comes back on. So I need to ask: What is the way to turn off
DTR and then turn it back on in OSR5? Currently I am using the POSIX
way:
cfgetospeed() and cfgetispeed() to get the speeds.
cfsetospeed() and cfsetispeed() to set the speed to 0.
tcsetattr() to make the speed changes take effect.
(pause)
cfsetospeed() and cfsetispeed() to restore the original speeds.
tcsetattr() to make the speed changes take effect.
The same code works fine on Linux, FreeBSD, and other platforms that use
POSIX APIs. It appears to work fine in OSR5 too: the steps before the
pause actually do work. But the steps after the pause, although they
return no error indication and do not set errno, do not in fact make DTR
and RTS come back on (as shown by the modem lights and the failure of the
modem to respond to further commands).
Speaking of modem signals, how are we supposed to read them? The TIOCMGET
ioctl() fails with error 22 ("invalid argument").
Thanks.
- Frank